安装必要包
npm install express mysql bodyParser 

// 写一个为car的接口 
1.index.js配置路由  

const bodyParser = require('body-parser');
// 处理请求参数
//挂载参数处理中间件（post）
//body-parser 是express的post请求中用来获得请求体(请求参数)的一种第三方包
//因为post请求不会再通过url传递参数了,所以就使用body-parser来获取了,
//配置之后会给请求中的req添加一个body属性来获取请求参数(获取页面提交表单的内容)
app.use(bodyParser.urlencoded({extended:false}));

//处理json格式的参数
app.use(bodyParser.json());

//配置路由 
app.use(router);
app.listen(3000, () =>{
	
	console.log('running............');
	
} );

2.0 路由模块
const express = require('express');
const router =  express.Router();
const service = require('./service.js')

/渲染主页
router.get('/',service.showIndex);

//添加图书
router.get('/toAddBook',service.toAddBook);

3.0 业务模块
const db =require('./db.js');
const bodyParser = require('body-parser');

//渲染主页面
exports.showIndex = (req, res) => {
	 let sql = 'select * from book';
	
	db.base(sql,null,(results)=>{
		res.render('index', {list: results});
	});
	
}

//跳转到添加图书的页面
exports.toAddBook = (req, res) => {
	res.render('addBook', {});
}
//删除图书信息
exports.deleteBook = (req,res)=>{
	let id =req.query.id ;
	let sql = 'delete from book where id = ?';
	
	let data = [id];
	
	db.base(sql,data,(results)=>{
		if(results.affectedRows){
			console.log('成功');
		}
		
	});
	// data.forEach((item,index)=>{
	// 	if(id == item.id){
	// 		// /删除数组的一项数据
	// 		data.splice(index,1);
	// 	}
	// 	return;
	// });
	
	// 文件写入成功之后重新跳转到主页面
	res.redirect('/');
}

4.0 
//封装数据库通用api

//加载数据库驱动
var mysql = require('mysql');

exports.base = (sql,data,callback) =>{
	//创建数据库连接
	var connection = mysql.createConnection({
	  host     : 'localhost',
	  user     : 'root',
	  password : '123456',
	  database : 'mybook'
	});
	//执行连接操作
	connection.connect();
	
	connection.query(sql,data, function (error, results, fields) {
	  if (error) throw error;
	  
	 callback(results);
	});
	
	connection.end();
	
	
}



//项目其他
如果是crud操作,那么result.affectedRows=1 影响行判断成功
如果是查询操作 ,则查询到返回的 result 存在  既判断成功

db.base(sql,data,(result)=>{
		if(result.affectedRows){
			res.json({flag:1});
		}else{
			res.json({flag:0});
		}
	});